package com.wyp.microservice.t.mapper;

import com.wyp.microservice.t.model.Blog;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Date;

/**
 * @Description: 
 * @Author:  wyp
 * @Date: 2020-11-15 16:14:12
 * @Copyright: Fujian Linewell Software Co., Ltd. All rights reserved.
 */
@Mapper
public interface BlogMapper {

    /**
     * 删除
     * @param id
     * @return
     */
    int delete(Long id);

    /**
     * 新增
     * @param record
     * @return
     */
    int insertSelective(Blog record);

    /**
     * 查询
     * @param id
     * @return
     */
    Blog selectByPrimaryKey(Long id);


    /**
     * 更新
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Blog record);

    /**
     * 批量删除
     * @param ids
     */
    void deleteBatch(@Param("ids") List<Long> ids);

    /**
     * 查询
     * @param id 
     * @param title 
     * @param content 
     * @param firstPicture 
     * @param flag 
     * @param views 
     * @param appreciation 
     * @param notice 
     * @param shareStatement 
     * @param carousel 
     * @param comment 
     * @param published 
     * @param recommend 
     * @param headline 
     * @param createTimeBegin （起）
     * @param createTimeEnd （止）
     * @param updateTimeBegin （起）
     * @param updateTimeEnd （止）
     * @param typeId 
     * @param userId 
     * @param description 
     * @param tagIds 
     * @return
     */
    List<Blog> queryList(@Param("id") Long id, @Param("title") String title, @Param("content") String content, @Param("firstPicture") String firstPicture, @Param("flag") Short flag, @Param("views") Integer views, @Param("appreciation") Short appreciation, @Param("notice") Short notice, @Param("shareStatement") Short shareStatement, @Param("carousel") Short carousel, @Param("comment") Short comment, @Param("published") Short published, @Param("recommend") Short recommend, @Param("headline") Short headline, @Param("createTimeBegin") Date createTimeBegin, @Param("createTimeEnd") Date createTimeEnd, @Param("updateTimeBegin") Date updateTimeBegin, @Param("updateTimeEnd") Date updateTimeEnd, @Param("typeId") Long typeId, @Param("userId") Long userId, @Param("description") String description, @Param("tagIds") String tagIds);
}
